package example.demo.route.annotation;

import example.demo.route.aop.RouteType;

import java.lang.annotation.*;

/**
 * <? 借助aop，还有tables与tableIdxs不要一起用的。
 */
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Route {
    /**
     * 0 tb_name
     * 1 tb_name tb_name1
     * 2 tb_name tb_name1 tb_name2
     * 3 tb_name tb_name1 tb_name2 tb_name3
     */
    int tables() default 0;

    /**
     * 指定查询去哪个表去查询，注解居然不支持Integer类型
     */
    int[] tableIdxs() default {};


    /**
     * 0-select
     * 1-insert
     * 2-update
     * 3-delete
     */
    int type() default RouteType.select;
}
